﻿using System;
using UnityEngine;

// Token: 0x020005AF RID: 1455
public class AssetBundleLoadAssetOperationSimulation : AssetBundleLoadAssetOperation
{
	// Token: 0x06002251 RID: 8785 RVA: 0x00136E88 File Offset: 0x00135088
	public AssetBundleLoadAssetOperationSimulation(UnityEngine.Object simulatedObject)
	{
		this.m_SimulatedObjects = new UnityEngine.Object[]
		{
			simulatedObject
		};
	}

	// Token: 0x06002252 RID: 8786 RVA: 0x00136EA0 File Offset: 0x001350A0
	public AssetBundleLoadAssetOperationSimulation(UnityEngine.Object[] simulatedObjects)
	{
		this.m_SimulatedObjects = simulatedObjects;
	}

	// Token: 0x06002253 RID: 8787 RVA: 0x00136EB0 File Offset: 0x001350B0
	public override bool IsEmpty()
	{
		return this.m_SimulatedObjects == null || this.m_SimulatedObjects.Length == 0 || this.m_SimulatedObjects[0] == null;
	}

	// Token: 0x06002254 RID: 8788 RVA: 0x00136EE0 File Offset: 0x001350E0
	public override T GetAsset<T>()
	{
		return this.m_SimulatedObjects[0] as T;
	}

	// Token: 0x06002255 RID: 8789 RVA: 0x00136EF4 File Offset: 0x001350F4
	public override T[] GetAllAssets<T>()
	{
		int num = 0;
		foreach (UnityEngine.Object @object in this.m_SimulatedObjects)
		{
			if (@object is T)
			{
				num++;
			}
		}
		T[] array = new T[num];
		int num2 = 0;
		foreach (UnityEngine.Object object2 in this.m_SimulatedObjects)
		{
			T t = object2 as T;
			if (t != null)
			{
				array[num2++] = t;
			}
		}
		return array;
	}

	// Token: 0x06002256 RID: 8790 RVA: 0x00136F98 File Offset: 0x00135198
	public override bool Update()
	{
		return false;
	}

	// Token: 0x06002257 RID: 8791 RVA: 0x00136F9C File Offset: 0x0013519C
	public override bool IsDone()
	{
		return true;
	}

	// Token: 0x04002B4B RID: 11083
	protected UnityEngine.Object[] m_SimulatedObjects;
}
